#include "LogDisplayModule.h"
#include "ui_LogDisplayModule.h"
#include <QListWidget>
#include <QListWidgetItem>



LogDisplayModule::LogDisplayModule(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::LogDisplayModule)
{
    ui->setupUi(this);
    setAttribute(Qt::WA_StyledBackground, true);
}

LogDisplayModule::~LogDisplayModule()
{
    delete ui;
}

/**
 * @brief 设置日志内容和显示样式
 * @param logType 日志类型（LOG_INFO=0, LOG_WARNING=1, LOG_ERROR=2）
 * @param time 日志时间戳
 * @param message 日志消息内容
 * @param showSaved 是否显示"已保存"标记
 */
void LogDisplayModule::setLogContent(int logType, const QString& time, const QString& message, bool showSaved)
{
    // 设置日志类型的动态属性，用于通过样式表控制图标显示
    ui->iconLabel->setProperty("logType", logType);
    
    // 更新样式表应用
    ui->iconLabel->style()->unpolish(ui->iconLabel);
    ui->iconLabel->style()->polish(ui->iconLabel);
    
    // 设置时间
    ui->timeLabel->setText(time);
    
    // 设置消息内容
    ui->messageLabel->setText(message);
    
    // 设置已保存标记的可见性
    ui->savedLabel->setVisible(showSaved);
}

/**
 * @brief 设置组件的选中状态
 * @param selected 是否选中
 */
void LogDisplayModule::setSelected(bool selected)
{
    setProperty("selected", selected);
    style()->unpolish(this);
    style()->polish(this);
}


